package com.tc.service;

import com.tc.domain.Disease_diagnosis;
import com.baomidou.mybatisplus.extension.service.IService;
import com.tc.dto.Disease_diagnosisDTO;
import com.tc.dto.Disease_diagnosisQueryDTO;
import com.tc.vo.Disease_diagnosisVO;
import com.tc.vo.PageResultVO;

import java.util.List;

/**
 * <p>
 * 疾病诊断服务类
 * </p>
 *
 * @author jcd
 * @since 2025-07-09
 */
public interface IDisease_diagnosisService extends IService<Disease_diagnosis> {
    
    /**
     * 分页查询疾病诊断信息
     * 
     * @param queryDTO 查询条件
     * @return 分页结果
     */
    PageResultVO<Disease_diagnosisVO> pageQuery(Disease_diagnosisQueryDTO queryDTO);
    
    /**
     * 根据ID获取疾病诊断信息
     * 
     * @param id 疾病ID
     * @return 疾病诊断信息
     */
    Disease_diagnosisVO getDiseaseById(Integer id);
    
    /**
     * 新增疾病诊断
     * 
     * @param diseaseDTO 疾病诊断信息
     * @return 是否成功
     */
    boolean addDisease(Disease_diagnosisDTO diseaseDTO);
    
    /**
     * 修改疾病诊断
     * 
     * @param diseaseDTO 疾病诊断信息
     * @return 是否成功
     */
    boolean updateDisease(Disease_diagnosisDTO diseaseDTO);
    
    /**
     * 删除疾病诊断
     * 
     * @param id 疾病ID
     * @return 是否成功
     */
    boolean deleteDisease(Integer id);
    
    /**
     * 批量删除疾病诊断
     * 
     * @param ids ID列表
     * @return 是否成功
     */
    boolean batchDeleteDisease(List<Integer> ids);
    
    /**
     * 根据名称模糊查询疾病列表
     * 
     * @param name 疾病名称
     * @return 疾病列表
     */
    List<Disease_diagnosisVO> listByName(String name);
}
